Distributed telecommunications switching systems are used to interconnect telecommunications resources and ports. The continued emergence of new telecommunications applications and resources, coupled with more users of those resources, has driven growing demand for bandwidth and versatility in the telecommunications switching fabric. One response to this growing demand is the exemplary, expandable, non-blocking, programmable telecommunications switching system described in U.S. Pat. No. 5,544,163, incorporated herein by reference.
The typical programmable telecommunications switching system has a number of nodal switches all operating under the control of a central host that runs application software to control switching functions and to control resources connected to each node. Thus, aside from the communication channels through the system, a programmable telecommunications system (or a portion thereof) must be additionally interconnected by a separate control network. By interconnecting the nodes with a local area network (LAN), application software and control information for the integrated switching system can be distributed from a central host or shared by a number of hosts.
The Institute of Electrical and Electronics Engineers (IEEE) has produced several standards for local area networks (LANs). These standards are collectively known as IEEE 802, and include the IEEE 802.3 standard for a Carrier Sense Multiple Access/Collision Detect (CSMA/CD) protocol commonly known as Ethernet. Ethernet has three basic elements: a physical medium connecting stations, an interface at each station for transceiving data across this “Ethernet channel” according to specific rules, and an Ethernet frame that consists of a standardized data format. An Ethernet system has no central controller. Each station must share the physical medium (Multiple Access) by contending with other stations for frame transmission opportunities, which it does by listening for openings on the physical medium (Carrier Sense) and, after starting each transmission, determining whether it is transmitting simultaneously with another station (Collision Deteoct). These functions are performed by a medium access control (MAC), which operates as the interface between an Ethernet station and the physical medium.
The Ethernet protocol just described offers a number of advantages in local area networking. The physical medium is simple, frequently consisting of nothing more than a twisted pair of copper wires. The rules of CSMA/CD are simple and well known and the hardware interface is inexpensive. An Ethernet network can support high data rates, with typical Ethernet networks operating at 10base-T (10 Mbps) or 100base-T (100 Mbps), and newer Ethernet networks transmitting data at rates above one billion bits per second. Further, because the Ethernet architecture is vendor-neutral or “open,” Ethernet interfaces are widely available and many types of Ethernet stations can share the same physical medium, regardless of the hardware, operating system, and application software being used by each station. For these reasons, the Ethernet protocol has been widely adopted for LAN implementations.
Notwithstanding the popularity of Ethernet, it has several limitations that render it ineffective for real time networking applications such as a distributed telecommunications switching environment. For example, Ethernet does not guarantee delivery of messages, nor does it guarantee the correct message sequence for multi-frame data sequences. Where this type of functionality is desired, a transport protocol such as the transport control protocol (TCP) may be added. Even with such an additional protocol, Ethernet is non-deterministic in the sense that delivery of any data frame cannot be guaranteed within a specific amount of time. This limitation greatly restricts the utility of Ethernet in real time environments.
Further, Ethernet's multicast functions do not support logical station grouping to create individual subnetworks, or virtual networks, within an extended Ethernet network. Where this type of functionality is desired, a network protocol such as the internet protocol (IP) is needed. These higher level protocols also use their own addressing schemes to identify individual Ethernet stations, and an additional address resolution protocol (ARP) is used to support IP's point-to-point communications through the Ethernet's MAC addresses.
The combination of protocols results in a protocol stack, a hierarchy of protocols ranging from a physical layer where a bit stream is transmitted over a physical medium, to an application layer, where application software may use network data at a particular station. The protocol stack enhances communications by providing improved functionality such as connection-oriented messaging and “piggybacking” of multiple small messages into a single data packet. Through the abstraction of the protocol stack, applications running on one station can communicate directly with applications on another station without any awareness of the intervening network and physical connections.
Protocol stacks may be satisfactory from an application programmer's point of view, but they come at a cost to system designers. Each protocol must be managed separately, which adds complexity. Each protocol also adds a processing step to network communications. For example, with the protocols described above, an application must pass network data to the TCP layer, which breaks the data up into packets and adds a header to each packet. These packets are then passed to the IP layer, which subdivides the TCP packets and adds additional header information including an IP address. The ARP layer then translates the IP addresses into MAC addresses for Ethernet communication, after which the IP packets are encapsulated in Ethernet frames for physical transmission. At a receiving station, this process is reversed, and data packets climb the protocol stack to reach a form amenable to the receiving application. All of these steps add time to the networking task. Where high-level network functionality such as routing is not required, the added processing time comes without any benefits.
Accordingly, there is a continuing need for a single network protocol that combines the speed and simplicity of Ethernet with selected functionality of higher level protocols, specifically the implementation of those higher level functions which may be used to enhance the performance of an Ethernet network. More specifically, there is a need for a single network protocol capable of meeting the real time node-to-node communications demands of a distributed, programmable telecommunications switching system. It is also desirable to have a protocol that is compatible with the physical infrastructure of existing Ethernet networks, and to share the physical infrastructure with other Ethernet users and protocols.